/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 * @author Julien
 */
package ObjetData;

import java.util.ArrayList;
import java.util.Date;

/**
 *
 * @author julien
 */
public class Commande {

    private Date datedeCommande;
    private Utilisateur client;
    private int numero;
    private ArrayList<CommandeLigne> lignesDeCommande = new ArrayList<CommandeLigne>();
    private String status;

    public void addLigne(Article art) {
        CommandeLigne ligne = new CommandeLigne();
        ligne.setArticle(art);
        ligne.setPrixUnitaire(art.getPrixht());
        ligne.setQuantite(1);
        this.lignesDeCommande.add(ligne);

    }

    public Utilisateur getClient() {
        return client;
    }

    public Date getDatedeCommande() {
        return datedeCommande;
    }

    public ArrayList<CommandeLigne> getLignesDeCommande() {
        return lignesDeCommande;
    }

    public int getNumero() {
        return numero;
    }

    public String getStatus() {
        return status;
    }

    public double getTotalHt() {
        double ht = 0;
        for (CommandeLigne commandeLigne : lignesDeCommande) {
            ht += commandeLigne.getHt();
        }
        return Math.round(ht * Math.pow(10, 2)) / Math.pow(10, 2);
    }

    public double getTotalTva() {
        double tva = 0;
        for (CommandeLigne commandeLigne : lignesDeCommande) {
            tva += commandeLigne.getTva();
        }
        return Math.round(tva * Math.pow(10, 2)) / Math.pow(10, 2);
    }

    public double getTotalTtc() {
        double ttc = 0;
        for (CommandeLigne commandeLigne : lignesDeCommande) {
            ttc += commandeLigne.getTTC();
        }
        return Math.round(ttc * Math.pow(10, 2)) / Math.pow(10, 2);
    }

    public void setClient(Utilisateur client) {
        this.client = client;
    }

    public void setDatedeCommande(Date datedeCommande) {
        this.datedeCommande = datedeCommande;
    }

    public void setLignesDeCommande(ArrayList<CommandeLigne> lignesDeCommande) {
        this.lignesDeCommande = lignesDeCommande;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}